perm filename PJOIN.SAI[PIX,HPM]1 blob sn#460772 filedate 1979-07-19 generic text, type T, neo UTF8
BEGIN "PJOIN"
comment joins several 1 bit/pixel picture files lengthwise into one;
REQUIRE "PIXHDR.SAI[VIS,HPM]" SOURCE_FILE;
REQUIRE "FILHDR.SAI[VIS,HPM]" SOURCE_FILE;
INTEGER N;

PRINT("How many files?"); N←CVD(INCHWL);
   BEGIN
   INTEGER I,J,W,WB,H, INF,OUF;
   INTEGER ARRAY PHD[1:N,0:10],OHD[0:10]; STRING ARRAY PNAM[1:N];
   PRSFIL(""); PRSFIL(".VRN");
   W←0; H←0; WB←0;
   FOR I←1 STEP 1 UNTIL N DO 
      BEGIN
      DO PRINT("File ",I,":") UNTIL GETPFD(PNAM[I]←INCHWL,PHD[I,0])>0;
      WB←WB MAX PHD[I,LNBY];
      W←W MAX PHD[I,LNWD];
      H←H + PHD[I,PCLN];
      END;
   MAKDIM(H,WB,1,OHD[0]);
   PRSFIL("");
   DO PRINT("Output file:") UNTIL (OUF←CREPFL(OHD[0],INCHWL))≥0;
   FOR I←1 STEP 1 UNTIL N DO
      BEGIN
      INTEGER ARRAY LIN[1:W];
      INF←OPNPFL(PNAM[I],PHD[I,0]);
      FOR J←1 STEP 1 UNTIL PHD[I,PCLN] DO
         BEGIN
         ARRYIN(INF,LIN[1],PHD[I,LNWD]);
         ARRYOUT(OUF,LIN[1],W);
         END;
      RELEASE(INF);
      END;
   RELEASE(OUF);
   END;
END "PJOIN";